Entwurf und Implementierung einer Programmiersprache im studentischen Projekt Monty's Coconut

نویسندگان

  • Marcus Ermler
  • Berthold Hoffmann
  • Christian John
  • Christopher Nottrodt
  • Carsten Pfeffer
چکیده

class BinaryTree: + abstract height() class Branch inherits BinaryTree: BinaryTree left T value BinaryTree right + initializer(BinaryTree left, T value, BinaryTree right): self.left = left self.value = value self.right = right + height(): return 1+max(self.left.height(), self.right.height) class Leaf inherits BinaryTree: + height(): return 0 Beispiel 4: Ein Binärbaum ohne Null-Referenzen Die vollständige Definition der Sprache [Mon14b] enthält noch einige weitere Konzepte, die in diesem Papier aus Platzmangel nicht beschrieben werden können. Dazu zählen eine nähere Beschreibung abstrakter Klassen, allgemeiner Mehrfachvererbung, von Modulen und Paketen. Darüber hinaus sind weitere Konzepte in der gegenwärtigen Fassung der Sprache noch nicht enthalten: lokale Typinferenz, Lambda-Funktionen, eingeschränkt generische Parameter und die explizite Verwendung von Mutability und Immutability. Solche zukünftigen Erweiterungen von Monty sind im Bericht [Mon14a] beschrieben. Auch die von David Watt in [Wat05] vorgeschlagene Sprache Monty (die nie implementiert wurde) hat sich syntaktisch an Python orientiert und dynamische Typisierung erlaubt. Der Schwerpunkt dieser Studie liegt in Überlegungen zur Unterscheidung von Klassen mit und ohne veränderlichen Attributen (mutable und immutable) und zur Varianz bei den Typparametern generischer Klassen. Syntaktisch und auch in Hinblick auf die Objektorientierung (Werte als Objekte, allgemeine Mehrfachvererbung) orientiert sich unser Monty aber eher an Python als an Java. 3 Die Implementierung eines Compilers für Monty Der Compiler für Monty wurde in Java implementiert. Damit wurde schon während der Arbeit an der Sprachdefinition begonnen. Im Folgenden soll ein Einblick in die Architektur und Funktionsweise des Compilers gegeben werden (vgl. Abbildung 2).

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Sichere IT-Systeme

Die Entwicklung und Prüfung von sicheren Komponenten und einem sicheren Gesamtsystem ist das Ziel des Schwerpunktprogramm 1079 „Sicherheit in der Informationsund Kommunikationstechnik“ der Deutschen Forschungsgemeinschaft. Dieser Artikel skizziert dieses Schwerpunktprogramm und stellt mit dem Projekt ATUS dessen Beitrag zur Nutzerforschung vor. 1 DFG-Schwerpunktprogramm „Sicherheit in der Infor...

متن کامل

XOBE-DB Entwicklung einer Datenbankprogrammiersprache für XML-Anwendungen

XML gewinnt immer stärker an Bedeutung für WWW-Anwendungen, insbesondere als Datenaustauschformat. Die spezielle XML-Sprache HTML bildet dabei die Grundlage für u.a. dynamisch generierte WWW-Seiten, die mit heutigen, in der Praxis verwendeten Werkzeugen nicht garantiert fehlerfrei sind. Auch Persistenz für XML-Strukturen ist nicht integriert. Im XOBE-DB-Projekt geht es um die Entwicklung und Im...

متن کامل

Das chronische Problem der Anforderungsanalyse und die Frage: Fehler vermeiden oder früh entdecken?

In Softwareentwicklungsprojekten werden durch Mängel im Prozess der Anforderungsanalyse viele Anforderungsfehler verursacht. Diese werden häufig erst entdeckt, nachdem zahlreiche Folgefehler im Entwurf und der Implementierung aufgetreten sind. Um die hohe Zahl der Anforderungsfehler und ihrer Folgefehler zu senken, kann versucht werden, Fehler zu vermeiden oder sie früh zu entdecken. Der vorlie...

متن کامل

Entwicklung und Evaluierung einer Domänenspezifischen Sprache für SPS-Schrittketten

Domänenspezifische Sprachen mit passenden Entwurfsund Transformationswerkzeugen unterstützen Anwender in speziellen Gebieten ihre Entwürfe in Implementierungen umzusetzen. Sind solche Sprachen visuell, so können auch graphische Notationen aus dem Anwendungsgebiet übernommen werden, um die Akzeptanz der Sprache zu verbessern. In diesem Artikel berichten wir über den Entwurf, die Implementierung ...

متن کامل

Entwurf, Implementierung und Test einer IT-Architektur für einen mobilen Gesundheitscoach: Das Beispiel Personal Health Manager

Der Personal Health Manager (PHM) ist ein IT-gestütztes Bewegungsprogramm um körperlich inaktive Menschen an einen aktiveren Lebensstil heranzuführen. Für den PHM wurden Software, Hardware, persönliche und computervermittelte Dienstleistungen zu einer kostengünstigen und größenskalierbaren Lösung kombiniert, die aber in gewissem Maße individualisierbar ist. Die Anforderungen an die Lösung wurde...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2015